<?php
require_once ("scripts/single_product.php");
require_once ("scripts/cart_engine.php");
require_once ("scripts/database.php");

function getHidingPlace() {
	$result = array();
	$foundIDs = array();
	$index = 0;
	$connection = mysqli_connect(DB_HOST, DB_USERNAME, DB_PASS, DB_NAME);
	if (!$connection) {
		echo("Połączenie z bazą danych nie powiodło się.
		Spróbuj ponownie później lub skontaktuj się z administratorem serwisu. 
		<br>Przepraszamy za utrudnienia.");
		exit(1);
	}
	$stmt = mysqli_prepare($connection, "SELECT id FROM przechowalnia WHERE username = ?");
	mysqli_stmt_bind_param($stmt, 's', $_SESSION["username"]);
	mysqli_stmt_execute($stmt);
	mysqli_stmt_bind_result($stmt, $foundProdID);
	while (mysqli_stmt_fetch($stmt)) {
		$foundIDs[$index++] = $foundProdID;
	}
	mysqli_stmt_close($stmt);
	for ($i = 0; $i < count($foundIDs); $i++) {
		$result[$i] = getSpecifiedProductFromDatabase($connection, $foundIDs[$i]);
	}
	mysqli_close($connection);
	return $result;
}

function addToHidingPlace($id) {
	if (!isInCart($id) && !isInHidingPlace($id)) {
		$connection = mysqli_connect(DB_HOST, DB_USERNAME, DB_PASS, DB_NAME);
		if (!$connection) {
			echo("Połączenie z bazą danych nie powiodło się.
				Spróbuj ponownie później lub skontaktuj się z administratorem serwisu. 
				<br>Przepraszamy za utrudnienia.");
			exit(1);
		}
		$stmt = mysqli_prepare($connection, "INSERT INTO przechowalnia VALUES(?, ?)");
		mysqli_stmt_bind_param($stmt, 'sd', $_SESSION["username"], $id);
		mysqli_stmt_execute($stmt);
		mysqli_stmt_close($stmt);
		mysqli_close($connection);
	}
}

function removeFromHidingPlace($id) {
	$connection = mysqli_connect(DB_HOST, DB_USERNAME, DB_PASS, DB_NAME);
	if (!$connection) {
		echo("Połączenie z bazą danych nie powiodło się.
		Spróbuj ponownie później lub skontaktuj się z administratorem serwisu. 
		<br>Przepraszamy za utrudnienia.");
		exit(1);
	}
	$stmt = mysqli_prepare($connection, "DELETE FROM przechowalnia WHERE username = ? and id = ?");
	mysqli_stmt_bind_param($stmt, 'sd', $_SESSION["username"], $id);
	mysqli_stmt_execute($stmt);
	mysqli_stmt_close($stmt);
	mysqli_close($connection);
}

function fromHidingToCart($id) {
	if (isInHidingPlace($id)) {
		removeFromHidingPlace($id);
		addToCart($id);
	}
}

function isInHidingPlace($id) {
	$connection = mysqli_connect(DB_HOST, DB_USERNAME, DB_PASS, DB_NAME);
	if (!$connection) {
		echo("Połączenie z bazą danych nie powiodło się.
		Spróbuj ponownie później lub skontaktuj się z administratorem serwisu. 
		<br>Przepraszamy za utrudnienia.");
		exit(1);
	}
	$stmt = mysqli_prepare($connection, "SELECT count(*) FROM przechowalnia WHERE username = ? AND id = ?");
	mysqli_stmt_bind_param($stmt, 'sd', $_SESSION["username"], $id);
	mysqli_stmt_execute($stmt);
	mysqli_stmt_bind_result($stmt, $count);
	mysqli_stmt_fetch($stmt);
	mysqli_stmt_close($stmt);
	mysqli_close($connection);
	if ($count == 0)
		return false;
	else
		return true;
}

function countHidingPlacePrice() {
	$price = 0;
	$hidingPlaceContent = getHidingPlace();
	for ($i = 0; $i < count($hidingPlaceContent); $i++) {
		$price += $hidingPlaceContent[$i][4];
	}
	return $price;
}
?>